package br.edu.utfpr.view.action;

import java.util.ArrayList;
import java.util.List;

import br.edu.utfpr.app.beans.Vendedor;
import br.edu.utfpr.app.dto.VendedorDTO;
import br.edu.utfpr.controller.ControladorVendedorImpl;
import br.edu.utfpr.controller.interfaces.ControladorVendedor;
import br.edu.utfpr.controller.validator.RetornoValidacao;
import br.edu.utfpr.controller.validator.VendedorValidator;
import br.edu.utfpr.dao.DaoVendedorImpl;
import br.edu.utfpr.dao.interfaces.DaoVendedor;

public class ActionVendedor extends Action<Vendedor>{
	
	DaoVendedor dao = new DaoVendedorImpl();
	ControladorVendedor c = new ControladorVendedorImpl(dao, new VendedorValidator());
	
	@Override
	public RetornoValidacao salvar(Vendedor pojo) {
		return c.save(pojo);
	}

	@Override
	public RetornoValidacao excluir(Vendedor pojo) {
		try {
			c.excluir(pojo);
			return new RetornoValidacao();
		} catch (Exception e) {
			return new RetornoValidacao("Ocorreu um erro ao excluir o vendedor");
		}
	}

	@Override
	public List<VendedorDTO> listar() {
		List<VendedorDTO> lista = new ArrayList<VendedorDTO>();
		
		for (Vendedor v : c.list()) {
			lista.add(v.parseDTO());
		}
		
		return lista;
	}

}
